def main():
    f = None
    try:
        f = open('致橡树.txt', 'r', encoding='utf-8')
        print(f.read())
    except FileNotFoundError as err:
        print('无法打开指定的文件!')
        print(err)
    except LookupError:
        print('指定了未知的编码!')
    except UnicodeDecodeError:
        print('读取文件时解码错误!')
    except:
        print('收到除上面之外的所有错误通知')
    finally:
        if f:
            f.close()

if __name__ == '__main__':
    main()

"""
​ as 子句是用于绑定错误对象的变量，可以省略
 except 子句可以有一个或多个，但至少要有一个
​ else 子句最多只能有一个，也可以省略
​ finally 子句最多只能有一个，也可以省略
"""